/**
 * Copyright (C) 2010 Cloudfarming <info@cloudfarming.nl>
 *
 * Licensed under the Eclipse Public License - v 1.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *         http://www.eclipse.org/legal/epl-v10.html
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package nl.cloudfarming.client.sensor.model;

import java.util.ArrayList;
import java.util.List;
import java.util.Vector;
import javax.swing.table.DefaultTableModel;
import nl.cloudfarming.sensor.model.SensorRunBO;

/**
 *
 * @author Timon Veenstra
 */
public class SensorRunsTableModel extends DefaultTableModel {

    private static final int MIN_ROW_COUNT = 1;

    public SensorRunsTableModel() {
//       addColumn(NbBundle.getMessage(ApprovedVaccinationsTableModel.class, "approvedvaccinations.column.vaccintype"));

        addColumn("Sensor run #");
        addColumn("Perceel #");
        addColumn("Perceel naam");
        addColumn("Sensordata bestandsnaam");
        addColumn("Sensordata inleesdatum");

        updateContent(null);

    }

    public final void updateContent(List<SensorRunBO> sensorRuns) {
        for (int i = 0; i < getRowCount(); i++) {
            removeRow(i);
        }
        int rowCount = 0;
        if (sensorRuns != null) {
            for (SensorRunBO sensorRun : sensorRuns) {
                List<Object> row = new ArrayList<Object>();

                row.add(sensorRun.getSensorRunId());
                row.add(sensorRun.getPlotBO().getPlotId());
                row.add(sensorRun.getPlotBO().getName());
                row.add(sensorRun.getGeoSensorDataFileBO().getFileName());
                row.add(sensorRun.getGeoSensorDataFileBO().getFileRead());

                addRow(row.toArray());
                rowCount++;
            }
        }
        setRowCount(MIN_ROW_COUNT);

    }
}
